Adaptive Squeeze Momentum StrategyThe Adaptive Squeeze Momentum Strategy is a versatile trading algorithm designed to capitalize on periods of low volatility that often precede significant price movements. By integrating multiple technical indicators and customizable settings, this strategy aims to identify optimal entry and exit points for both long and short positions.
Key Features:
Long/Short Trade Control:
Toggle Options: Easily enable or disable long and short trades according to your trading preferences or market conditions.
Flexible Application: Adapt the strategy for bullish, bearish, or neutral market outlooks.
Squeeze Detection Mechanism:
Bollinger Bands and Keltner Channels: Utilizes the convergence of Bollinger Bands inside Keltner Channels to detect "squeeze" conditions, indicating a potential breakout.
Dynamic Squeeze Length: Calculates the average squeeze duration to adapt to changing market volatility.
Momentum Analysis:
Linear Regression: Applies linear regression to price changes over a specified momentum length to gauge the strength and direction of momentum.
Dynamic Thresholds: Sets momentum thresholds based on standard deviations, allowing for adaptive sensitivity to market movements.
Momentum Multiplier: Adjustable setting to fine-tune the aggressiveness of momentum detection.
Trend Filtering:
Exponential Moving Average (EMA): Implements a trend filter using an EMA to align trades with the prevailing market direction.
Customizable Length: Adjust the EMA length to suit different trading timeframes and assets.
Relative Strength Index (RSI) Filtering:
Overbought/Oversold Signals: Incorporates RSI to avoid entering trades during overextended market conditions.
Adjustable Levels: Set your own RSI oversold and overbought thresholds for personalized signal generation.
Advanced Risk Management:
ATR-Based Stop Loss and Take Profit:
Adaptive Levels: Uses the Average True Range (ATR) to set stop loss and take profit points that adjust to market volatility.
Custom Multipliers: Modify ATR multipliers for both stop loss and take profit to control risk and reward ratios.
Minimum Volatility Filter: Ensures trades are only taken when market volatility exceeds a user-defined minimum, avoiding periods of low activity.
Time-Based Exit:
Holding Period Multiplier: Defines a maximum holding period based on the momentum length to reduce exposure to adverse movements.
Automatic Position Closure: Closes positions after the specified holding period is reached.
Session Filtering:
Trading Session Control: Limits trading to predefined market hours, helping to avoid illiquid periods.
Custom Session Times: Set your preferred trading session to match market openings, closings, or specific timeframes.
Visualization Tools:
Indicator Plots: Displays Bollinger Bands, Keltner Channels, and trend EMA on the chart for visual analysis.
Squeeze Signals: Marks squeeze conditions on the chart, providing clear visual cues for potential trade setups.
Customization Options:
Indicator Parameters: Fine-tune lengths and multipliers for Bollinger Bands, Keltner Channels, momentum calculation, and ATR.
Entry Filters: Choose to use trend and RSI filters to refine trade entries based on your strategy.
Risk Management Settings: Adjust stop loss, take profit, and holding periods to match your risk tolerance.
Trade Direction Control: Enable or disable long and short trades independently to align with your market strategy or compliance requirements.
Time Settings: Modify the trading session times and enable or disable the time filter as needed.
Use Cases:
Trend Traders: Benefit from aligning entries with the broader market trend while capturing breakout movements.
Swing Traders: Exploit periods of low volatility leading to significant price swings.
Risk-Averse Traders: Utilize advanced risk management features to protect capital and manage exposure.
Disclaimer:
This strategy is a tool to assist in trading decisions and should be used in conjunction with other analyses and risk management practices. Past performance is not indicative of future results. Always test the strategy thoroughly and adjust settings to suit your specific trading style and market conditions.
Search in scripts for "Exponential Moving Average"
Rainbow EMA Areas with Volatility HighlightThe indicator provides traders with an enhanced visual tool to observe price movements, trend strength, and market volatility on their charts. It combines multiple EMAs (Exponential Moving Averages) with color-coded areas to indicate the market’s directional bias and a high-volatility highlight for detecting times of increased market activity.
Explanation of Key Components
Multiple EMAs (Exponential Moving Averages):
Six different EMAs are calculated for various periods (15, 45, 100, 150, 200, 300).
Each EMA period represents a different timeframe, from short-term to long-term trends, providing a well-rounded view of price behavior across different market cycles.
The EMAs are color-coded for easy differentiation:
Green shades indicate bullish trends when prices are above the EMAs.
Red shades indicate bearish trends when prices are below the EMAs.
The space between each EMA is filled with a gradient color, creating a "wave" effect that helps identify the market’s overall direction.
ATR-Based Volatility Detection:
The ATR (Average True Range), a measure of market volatility, is used to assess how much the price is fluctuating. When volatility is high, price movements are typically more significant, indicating potential trading opportunities or times to exercise caution.
The indicator calculates ATR and uses a customizable multiplier to set a high-volatility threshold.
When the ATR exceeds this threshold, it signals that the market is experiencing high volatility.
Visual High Volatility Highlight:
A yellow background appears on the chart during periods of high volatility, giving a subtle but clear visual indication that the market is active.
This highlight helps traders spot potential breakout areas or increased activity zones without obstructing the EMA areas.
Volatility Signal Markers:
Small, red triangular markers are plotted above price bars when high volatility is detected, marking these areas for additional emphasis.
These signals serve as alerts to help traders quickly recognize high volatility moments where price moves may be stronger.
How to Use This Indicator
Identify Trends Using EMA Areas:
Bullish Trend: When the price is above most or all EMAs, and the EMA areas are colored in shades of green, it indicates a strong bullish trend. Traders might look for buy opportunities in this scenario.
Bearish Trend: When the price is below most or all EMAs, and the EMA areas are colored in shades of red, it signals a bearish trend. This condition can suggest potential sell opportunities.
Consolidation or Neutral Trend: If the price is moving within the EMA bands without a clear green or red dominance, the market may be in a consolidation phase. This period often precedes a breakout in either direction.
Volatility-Based Entries and Exits:
High Volatility Areas: The yellow background and red triangular markers signal high-volatility areas. This information can be valuable for identifying potential breakout points or strong moves.
Trading in High Volatility: During high-volatility phases, the market may experience rapid price changes, which can be ideal for breakout trades. However, high volatility also involves higher risk, so traders may adjust their strategies accordingly (e.g., setting wider stops or adjusting position sizes).
Trading in Low Volatility: When the yellow background and markers are absent, volatility is lower, indicating a calmer market. In these times, traders may choose to look for range-bound trading opportunities or wait for the next trend to develop.
Combining with Other Indicators:
This indicator works well in combination with momentum or oscillating indicators like RSI or MACD, providing a well-rounded view of the market.
For example, if the indicator shows a bullish EMA area with high volatility, and an RSI is trending up, it could be a stronger buy signal. Conversely, if the indicator shows a bearish EMA area with high volatility and RSI is trending down, this could be a stronger sell signal.
Practical Trading Examples
Bullish Trend in High Volatility:
Price is above the EMAs, showing green EMA areas, and the high volatility background is active.
This indicates a strong bullish trend with significant price movement potential.
A trader could look for breakout or continuation entries in the direction of the trend.
Bearish Reversal Signal:
Price crosses below the EMAs, showing red EMA areas, while high volatility is also detected.
This suggests that the market may be reversing to a bearish trend with increased price movement.
Traders could consider taking short positions or setting stops on existing long trades.
This indicator is designed to provide a rich visual experience, making it easy to spot trends, consolidations, and volatility zones at a glance. It is best used by traders who benefit from visual cues and who seek a quick understanding of both trend direction and market activity. Let me know if you'd like further customization or additional functionalities!
TrendWave EMA/VWAP IndicatorThe TrendWave EMA/VWAP Indicator is a powerful technical analysis tool designed for traders seeking to enhance their market strategies. By combining the dynamic Exponential Moving Average (EMA) and the Volume Weighted Average Price (VWAP), this indicator provides valuable insights into price trends and potential trading signals, allowing for informed decision-making in various market conditions.
Key Features:
Exponential Moving Average (EMA):
The EMA component helps traders identify the direction of the prevailing trend by giving more weight to recent price action. This responsiveness makes the EMA an essential tool for trend-following strategies.
Customizable Length: Users can adjust the EMA length (default set to 50 periods) to align with their specific trading style and preferences.
Volume Weighted Average Price (VWAP):
The VWAP is crucial for evaluating the average price of a security throughout the trading day, factoring in volume. It serves as a benchmark for price action and can help traders identify significant support and resistance levels.
Real-time Benchmarking: The VWAP enables traders to assess current prices against historical averages, improving their entry and exit strategies.
Signal Generation:
The TrendWave EMA/VWAP Indicator generates clear buy and sell signals based on the interaction between the price and the VWAP:
Bullish Signal: Triggered when the price crosses above the VWAP, indicating a potential upward movement.
Bearish Signal: Triggered when the price crosses below the VWAP, suggesting a potential downward movement.
These signals are visually represented with intuitive arrows on the chart, facilitating quick recognition of trading opportunities.
User-Friendly Interface:
The indicator allows traders to enable or disable components (EMA and VWAP) based on their preferences, ensuring a personalized trading experience.
Clear color coding enhances visual clarity: the EMA is displayed in blue, while the VWAP is shown in orange.
Use Cases:
Trend Following: Use the EMA to confirm the direction of the trend and make trades that align with that trend.
Price Action Analysis: Employ the VWAP to determine the average trading price and identify key support/resistance levels.
Signal Confirmation: Combine signals from both the EMA and VWAP to enhance trading strategies and decision-making.
The TrendWave EMA/VWAP Indicator is an essential addition to any trader's toolkit. By leveraging the strengths of both the EMA and VWAP, this indicator empowers traders to make informed, data-driven decisions and capitalize on market movements with confidence.
TEMA Crosses_AIT with Manual TEMA CalculationTitle: TEMA Crosses_AIT Indicator
Description:
The TEMA Crosses_AIT Indicator is designed for traders looking to leverage the Triple Exponential Moving Average (TEMA) to identify trend reversals and momentum shifts in the market. This indicator calculates both fast and slow TEMA lines and signals potential buy or sell opportunities based on crossovers between these two lines.
Key Features:
Fast TEMA (TEMAF):
Default period: 20 (adjustable)
Represents the short-term trend and reacts quickly to price changes.
Slow TEMA (TEMAS):
Default period: 200 (adjustable)
Represents the long-term trend, smoothing out price fluctuations to give a clearer view of the overall direction.
Signal Generation:
Long Signal: A long (buy) signal is generated when the fast TEMA crosses above the slow TEMA, indicating a potential upward trend.
Short Signal: A short (sell) signal is generated when the fast TEMA crosses below the slow TEMA, indicating a potential downward trend.
Color-coded Visualization:
The fast TEMA line is displayed in green when it is above the slow TEMA (bullish signal) and in red when below (bearish signal).
The slow TEMA line is displayed in white.
A yellow triangle appears below the price bar for long entries.
A fuchsia triangle appears above the price bar for short entries.
How It Works:
The indicator calculates the Triple Exponential Moving Average (TEMA) manually using exponential moving averages (EMA). The TEMA is calculated by subtracting the second EMA from three times the first EMA, then adding the third EMA. This provides a smoother trend line that reacts more quickly than a traditional EMA, making it ideal for spotting trend changes.
Customizable Inputs:
TEMAF Period: Adjust the period of the fast TEMA to fit your trading style.
TEMAS Period: Adjust the period of the slow TEMA to match the time frame you are analyzing.
Use Cases:
Trend Reversals: The crossovers between the fast and slow TEMA provide clear signals for potential trend reversals, which can be used to enter or exit trades.
Momentum Confirmation: The color-coded TEMA lines allow traders to easily identify whether the short-term momentum is aligned with the long-term trend, helping to confirm the strength of a move.
Recommendations:
This indicator works well with other momentum-based tools like RSI or MACD for confirming signals and identifying overbought or oversold conditions. It is suitable for use across different asset classes, including stocks, cryptocurrencies, forex, and commodities.
Disclaimer:
The TEMA Crosses_AIT indicator should not be used as a standalone trading strategy. It is recommended to combine this indicator with other forms of analysis and risk management techniques. Always backtest the indicator on historical data before applying it to live trades.
MTF Regression with Forecast### **MTF Regression with Forecast, Treasury Yield, Additional Variable & VWAP Filter - Enhanced with Long Regression**
Unlock advanced market insights with our **MTF Regression** indicator, meticulously designed for traders seeking comprehensive multi-timeframe analysis combined with powerful forecasting tools. Whether you're a seasoned trader or just starting out, this indicator offers a suite of features to enhance your trading strategy.
#### **🔍 Key Features:**
- **Multi-Timeframe (MTF) Regression:**
- **Fast, Slow, & Long Regressions:** Analyze price trends across multiple timeframes to capture both short-term movements and long-term trends.
- **Customizable Price Inputs:**
- **Flexible Price Selection:** Choose between Close, Open, High, or Low prices to suit your trading style.
- **Price Transformation:** Option to apply Exponential Moving Averages (EMA) for smoother trend analysis.
- **Diverse Regression Methods:**
- **Multiple Algorithms:** Select from Linear, Exponential, Hull Moving Average (HMA), Weighted Moving Average (WMA), or Spline regressions to best fit your analysis needs.
- **Integrated External Data:**
- **10-Year Treasury Yield:** Incorporate macroeconomic indicators to refine regression accuracy.
- **Additional Variables:** Enhance your analysis by integrating data from other tickers (e.g., NASDAQ:AAPL).
- **Advanced Filtering Options:**
- **VWAP Filter:** Align signals with the Volume Weighted Average Price for improved trade entries.
- **Price Action Filter:** Ensure price behavior supports the generated signals for higher reliability.
- **Enhanced Signal Generation:**
- **Bullish & Bearish Signals:** Identify potential trend reversals and continuations with clear visual cues.
- **Predictive Signals:** Forecast future price movements with forward-looking arrows based on regression slopes.
- **Slope & Acceleration Thresholds:** Customize minimum slope and acceleration levels to fine-tune signal sensitivity.
- **Forecasting Capabilities:**
- **Projection Lines:** Visualize future price trends by extending regression lines based on current slope data.
- **User-Friendly Interface:**
- **Organized Settings Groups:** Easily navigate through price inputs, regression settings, integration options, and more.
- **Customizable Alerts:** Stay informed with configurable alerts for bullish, bearish, and predictive signals.
#### **📈 Why Choose MTF Regression Indicator?**
- **Comprehensive Analysis:** Combines multiple regression techniques and external data sources for a well-rounded market view.
- **Flexibility:** Highly customizable to fit various trading strategies and preferences.
- **Enhanced Decision-Making:** Provides clear signals and forecasts to support informed trading decisions.
- **Efficiency:** Optimized to deliver reliable performance without overloading your trading platform.
Elevate your trading game with the **MTF Regression with Forecast, Treasury Yield, Additional Variable & VWAP Filter** indicator. Harness the power of multi-timeframe analysis and predictive forecasting to stay ahead in the dynamic markets.
---
*Feel free to reach out for more information or support. Happy Trading!*
EMA GridThe EMA Grid indicator is a powerful tool that calculates the overall market sentiment by comparing the order of 20 different Exponential Moving Averages (EMAs) over various lengths. The indicator assigns a rating based on how well-ordered the EMAs are relative to each other, representing the strength and direction of the market trend. It also smooths out the macro movements using cumulative calculations and visually represents the market sentiment through color-coded bands.
EMA Calculation:
The indicator uses a series of EMAs with different lengths, starting from 5 and going up to 100. Each EMA is calculated either using the exponential moving averages.
The EMAs form the grid that the indicator uses to measure the order and distance between them.
Rating Calculation:
The indicator computes the relative distance between consecutive EMAs and sums these differences.
The cumulative sum is further smoothed using multiple EMAs with different lengths (from 3 to 21). This smooths out short-term fluctuations and helps identify broader trends.
Market Sentiment Rating:
The overall sentiment is calculated by comparing the values of these smoothing EMAs. If the shorter-term EMA is above the longer-term EMA, it contributes positively to the sentiment; otherwise, it contributes negatively.
The final rating is a normalized value based on the relationship between these EMAs, producing a sentiment score between 1 (bullish) and -1 (bearish).
Color Coding and Bands:
The indicator uses the sentiment rating to color the space between the 100 EMA and 200 EMA, representing the strength of the trend.
If the sentiment is bullish (rating > 0), the band is shaded green. If the sentiment is bearish (rating < 0), the band is shaded red.
The intensity of the color is based on the strength of the sentiment, with stronger trends resulting in more saturated colors.
Utility for Traders:
The EMA Grid is ideal for traders looking to gauge the broader market trend by analyzing the structure and alignment of multiple EMAs. The color-coded band between the 100 and 200 EMAs provides an at-a-glance view of market momentum, helping traders make informed decisions based on the trend's strength and direction.
This indicator can be used to identify bullish or bearish conditions and offers a smoothed perspective on market trends, reducing noise and highlighting significant trend shifts.
Swiss Knife [MERT]Introduction
The Swiss Knife indicator is a comprehensive trading tool designed to provide a multi-dimensional analysis of the market. By integrating a wide array of technical indicators across multiple timeframes, it offers traders a holistic view of market sentiment, momentum, and potential reversal points. This indicator is particularly useful for traders looking to combine trend analysis, momentum indicators, volume data, and price action into a single, easy-to-read format.
---
Key Features
Multi-Timeframe Analysis : Evaluates indicators on Daily , 4-Hour , 1-Hour , and 15-Minute timeframes.
Comprehensive Indicator Suite : Incorporates MACD , Awesome Oscillator (AO) , Parabolic SAR , SuperTrend , DPO , RSI , Stochastic Oscillator , Bollinger Bands , Ichimoku Cloud , Chande Momentum Oscillator (CMO) , Donchian Channels , ADX , volume-based momentum indicators, Fractals , and divergence detection.
Market Sentiment Scoring : Aggregates signals from multiple indicators to provide an overall sentiment score.
Visual Aids : Displays EMA lines, trendlines, divergence signals, and a sentiment table directly on the chart.
Super Trend Reversal Signals : Identifies potential market reversal points by assessing the momentum of automated trading bots.
---
Explanation of Each Indicator
Moving Average Convergence Divergence (MACD)
- Purpose : Measures the relationship between two moving averages of price.
- Interpretation : A positive histogram suggests bullish momentum; a negative histogram indicates bearish momentum.
Awesome Oscillator (AO)
- Purpose : Gauges market momentum by comparing recent market movements to historic ones.
- Interpretation : Above zero indicates bullish momentum; below zero indicates bearish momentum.
Parabolic SAR (SAR)
- Purpose : Identifies potential reversal points in price direction.
- Interpretation : Dots below price suggest an uptrend; dots above price suggest a downtrend.
SuperTrend
- Purpose : Determines the prevailing market trend.
- Interpretation : Provides buy or sell signals based on price movements relative to the SuperTrend line.
Detrended Price Oscillator (DPO)
- Purpose : Removes trend from price to identify cycles.
- Interpretation : Values above zero suggest price is above the moving average; values below zero indicate it is below.
Relative Strength Index (RSI)
- Purpose : Measures the speed and change of price movements.
- Interpretation : Values above 50 indicate bullish momentum; values below 50 indicate bearish momentum.
Stochastic Oscillator
- Purpose : Compares a particular closing price to a range of its prices over a certain period.
- Interpretation : Values above 50 indicate bullish conditions; values below 50 indicate bearish conditions.
Bollinger Bands (BB)
- Purpose : Measures market volatility and provides relative price levels.
- Interpretation : Price above the middle band suggests bullishness; below the middle band suggests bearishness.
Ichimoku Cloud
- Purpose : Provides support and resistance levels, trend direction, and momentum.
- Interpretation : Bullish signals when price is above the cloud; bearish signals when price is below the cloud.
Chande Momentum Oscillator (CMO)
- Purpose : Measures momentum on both up and down days.
- Interpretation : Values above 50 indicate strong upward momentum; values below -50 indicate strong downward momentum.
Donchian Channels
- Purpose : Identifies volatility and potential breakouts.
- Interpretation : Price above the upper band suggests bullish breakout; below the lower band suggests bearish breakout.
Average Directional Index (ADX)
- Purpose : Measures the strength of a trend.
- Interpretation : DI+ above DI- indicates bullish trend; DI- above DI+ indicates bearish trend.
Volume Momentum Indicators (VolMom, CumVolMom, POCMom)
- Purpose : Analyze volume to assess buying and selling pressure.
- Interpretation : Positive values suggest bullish volume momentum; negative values indicate bearish volume momentum.
Fractals
- Purpose : Identify potential reversal points in the market.
- Interpretation : Up fractals may indicate a future downtrend; down fractals may indicate a future uptrend.
Divergence Detection
- Purpose : Identifies divergences between price and various indicators (RSI, MACD, Stochastic, OBV, MFI, A/D Line).
- Interpretation : Bullish divergences suggest potential upward reversal; bearish divergences suggest potential downward reversal.
- Note : This functionality utilizes the library from Divergence Indicator .
---
Coloring Scheme
Background Color
- Purpose : Reflects the overall market sentiment by combining sentiment scores from all indicators across different timeframes.
- Interpretation :
- Green Shades : Indicate bullish market sentiment.
- Red Shades : Indicate bearish market sentiment.
- Intensity : The strength of the color corresponds to the strength of the sentiment score.
Sentiment Table
- Purpose : Displays the status of each indicator across different timeframes.
- Interpretation :
- Green Cell : The indicator suggests a bullish signal.
- Red Cell : The indicator suggests a bearish signal.
- Percentage Score : Indicates the overall bullish or bearish sentiment on that timeframe.
Exponential Moving Averages (EMAs)
- Purpose : Provide dynamic support and resistance levels.
- Colors :
- EMA 10 : Lime
- EMA 20 : Yellow
- EMA 50 : Orange
- EMA 100 : Red
- EMA 200 : Purple
Trendlines
- Purpose : Visual representation of support and resistance levels based on pivot points.
- Interpretation :
- Upward Trendlines : Colored green , indicating support levels.
- Downward Trendlines : Colored red , indicating resistance levels.
- Note : Trendlines are drawn using the library from Simple Trendlines .
---
Utility of Market Sentiment
The indicator aggregates signals from multiple technical indicators across various timeframes to compute an overall market sentiment score . This comprehensive approach helps traders understand the prevailing market conditions by:
Confirming Trends : Multiple indicators pointing in the same direction can confirm the strength of a trend.
Identifying Reversals : Divergences and fractals can signal potential turning points.
Timeframe Alignment : Aligning signals across different timeframes can enhance the probability of successful trades.
---
Divergences
Divergence occurs when the price of an asset moves in the opposite direction of a technical indicator, suggesting a potential reversal.
- Bullish Divergence : Price makes a lower low, but the indicator makes a higher low.
- Bearish Divergence : Price makes a higher high, but the indicator makes a lower high.
The indicator detects divergences for:
RSI
MACD
Stochastic Oscillator
On-Balance Volume (OBV)
Money Flow Index (MFI)
Accumulation/Distribution Line (A/D Line)
By identifying these divergences, traders can spot early signs of trend reversals and adjust their strategies accordingly.
---
Trendlines
Trendlines are essential tools for identifying support and resistance levels. The indicator automatically draws trendlines based on pivot points:
- Upward Trendlines (Support) : Connect higher lows, indicating an uptrend.
- Downward Trendlines (Resistance) : Connect lower highs, indicating a downtrend.
These trendlines help traders visualize the trend direction and potential breakout or reversal points.
---
Super Trend Reversals (ST Reversal)
The core idea behind the Super Trend Reversals indicator is to assess the momentum of automated trading bots (often referred to as 'Supertrend bots') that enter the market during critical turning points. Specifically, the indicator is tuned to identify when the market is nearing bottoms or peaks, just before it shifts direction based on the triggered Supertrend signals. This approach helps traders:
Engage Early : Enter the market as reversal momentum builds up.
Optimize Entries and Exits : Enter under favorable conditions and exit before momentum wanes.
By capturing these reversal points, traders can enhance their trading performance.
---
Conclusion
The Swiss Knife indicator serves as a versatile tool that combines multiple technical analysis methods into a single, comprehensive indicator. By assessing various aspects of the market—including trend direction, momentum, volume, and price action—it provides traders with valuable insights to make informed trading decisions.
---
Citations
- Divergence Detection Library : Divergence Indicator by DevLucem
- Trendline Drawing Library : Simple Trendlines by HoanGhetti
---
Note : This indicator is intended for informational purposes and should be used in conjunction with other analysis techniques. Always perform due diligence before making trading decisions.
---
Dynamic ConfluenceThe Dynamic MA Confluence Indicator is a powerful tool designed to simplify your trading experience by automatically identifying the most influential moving average (MA) lengths on your chart. Whether you're using Simple Moving Averages (SMA) or Exponential Moving Averages (EMA), this indicator helps you pinpoint the MA length that holds the greatest confluence, allowing you to make informed trading decisions with ease.
How It Works:
This indicator analyzes a wide range of moving averages, from short-term to long-term, to determine which ones are closest to each other. By setting a "Proximity Percentage," you can control how close these MAs need to be to be considered as having confluence. The indicator then calculates the average of these close MAs to establish a dynamic support or resistance level on your chart.
Why Use This Indicator?
Automatic Optimization: Unsure of which MA length to apply? The indicator automatically highlights the MA length with the most confluence, giving you a clear edge in identifying significant market levels.
Adaptability: Choose between SMA and EMA to suit your trading strategy and market conditions.
Enhanced Decision-Making: By focusing on the MA length with the greatest influence, you can better anticipate market movements and adjust your strategies accordingly.
Customizable Sensitivity: Adjust the Proximity Percentage to fine-tune the indicator's sensitivity, ensuring it aligns with your trading preferences.
Key Feature:
Current Key Confluence MA Length: Displayed in an optional table, this feature shows the MA length that currently has the most impact on the confluence level, providing you with actionable insights at a glance.
Whether you're a seasoned trader or just starting, the Dynamic MA Confluence Indicator offers a streamlined approach to understanding market dynamics, helping you trade smarter and with more confidence. This presentation text is designed to clearly communicate the purpose, functionality, and benefits of the indicator, making it easy for users to understand its value and how it can enhance their trading strategies.
The Dynamic MA Confluence Indicator is a tool designed to assist traders in analyzing market trends. It should not be considered as financial advice or a guarantee of future performance. Trading involves significant risk, and it is possible to lose more than your initial investment. Users should conduct their own research and consider their financial situation before making trading decisions. Always consult with a financial advisor if you are unsure about any trading strategies or decisions. This disclaimer is intended to remind users of the inherent risks in trading and the importance of conducting their own due diligence.
Composite Momentum█ Introduction
The Composite Momentum Indicator is a tool we came across that we found to be useful at detecting implied tops and bottoms within quick market cycles. Its approach to analyzing momentum through a combination of moving averages and summation techniques makes it a useful addition to the range of available indicators on TradingView.
█ How It Works
This indicator operates by calculating the difference between two moving averages—one fast and one slow, which can be customized by the user. The difference between these two averages is then expressed as a percentage of the fast moving average, forming the core momentum value which is then smoothed with an Exponential Moving Average is applied. The smoothed momentum is then compared across periods to identify directional changes in direction
Furthermore, the script calculates the absolute differences between consecutive momentum values. These differences are used to determine periods of momentum acceleration or deceleration, aiming to establish potential reversals.
In addition to tracking momentum changes, the indicator sums positive and negative momentum changes separately over a user-defined period. This summation is intended to provide a clearer picture of the prevailing market bias—whether it’s leaning towards strength or weakness.
Finally, the summed-up values are normalized to a percentage scale. This normalization helps in identifying potential tops and bottoms by comparing the relative strength of the momentum within a given cycle.
█ Usage
This indicator is primarily useful for traders who focus on detecting quick cycle tops and bottoms. It provides a view of momentum shifts that can signal these extremes, though it’s important to use it in conjunction with other tools and market analysis techniques. Given its ability to highlight potential reversals, it may be of interest to those who seek to understand short-term market dynamics.
█ Disclaimer
This script was discovered without any information about its author or original intent but was nonetheless ported from its original format that is available publicly. It’s provided here for educational purposes and should not be considered a guaranteed method for market analysis. Users are encouraged to test and understand the indicator thoroughly before applying it in real trading scenarios.
Uptrick: EMA Trend Indicator
### Overview
The goal of this script is to visually indicate on a trading chart whether all three Exponential Moving Averages (EMAs) are trending upwards (i.e., their slopes are positive). If all EMAs are trending upwards, the script will color the bars green. If not, the bars will be colored red.
### Key Concepts
1. **Exponential Moving Average (EMA)**: An EMA is a type of moving average that places more weight on recent data, making it more responsive to price changes compared to a simple moving average (SMA). In this script, we use three different EMAs with different lengths (20, 50, and 200 periods).
2. **Slope of an EMA**: The slope of an EMA refers to the direction in which the EMA is moving. If the current value of the EMA is higher than its value in the previous bar, the slope is positive (upward). Conversely, if the current value is lower than its previous value, the slope is negative (downward).
3. **Bar Color Coding**: The script changes the color of the bars on the chart to provide a visual cue:
- **Green Bars**: Indicate that all three EMAs are trending upwards.
- **Red Bars**: Indicate that one or more EMAs are not trending upwards.
### Detailed Breakdown
#### 1. Input Fields
- **EMA Lengths**: The script starts by allowing the user to input the lengths for the three EMAs. These lengths determine how many periods (e.g., days) are used to calculate each EMA.
- `ema20_length` is set to 20, meaning the first EMA uses the last 20 bars of data.
- `ema50_length` is set to 50, meaning the second EMA uses the last 50 bars of data.
- `ema200_length` is set to 200, meaning the third EMA uses the last 200 bars of data.
#### 2. EMA Calculation
- The script calculates the values of the three EMAs:
- **EMA 20**: This is calculated using the last 20 bars of closing prices.
- **EMA 50**: This is calculated using the last 50 bars of closing prices.
- **EMA 200**: This is calculated using the last 200 bars of closing prices.
These calculations result in three values for each bar on the chart, each representing the EMA value at that point in time.
#### 3. Determining EMA Slopes
- **EMA Slopes**: To understand the trend of each EMA, the script compares the current value of each EMA to its value in the previous bar:
- For the 20-period EMA, the script checks if today’s EMA value is higher than yesterday’s EMA value.
- This process is repeated for the 50-period and 200-period EMAs.
- If today’s EMA value is greater than yesterday’s value, the slope is positive (upward).
- If today’s EMA value is not greater (it is either equal to or less than yesterday’s value), the slope is not positive.
#### 4. Evaluating All Slopes
- **All Slopes Positive Condition**: The script combines the results of the individual slope checks into a single condition. It uses a logical "AND" operation:
- The condition will be `true` only if all three EMAs (20, 50, and 200) have positive slopes.
- If any one of the EMAs does not have a positive slope, the condition will be `false`.
#### 5. Coloring the Bars
- **Bar Coloring Logic**: Based on the above condition, the script decides the color of each bar on the chart:
- If all slopes are positive (condition is `true`), the bar is colored green.
- If any slope is not positive (condition is `false`), the bar is colored red.
- **Visual Cue**: This provides a quick, visual indication to traders:
- Green bars suggest that the market is in an upward trend across all three EMAs, which might indicate a strong bullish trend.
- Red bars suggest that the trend is not uniformly upward, which could be a sign of weakening momentum or a potential reversal.
#### 6. Alerts
- **Alert Conditions**: The script also allows for alert conditions to be set based on the slope analysis:
- An alert can be triggered when all EMA slopes are positive. This might be useful for traders who want to be notified when the market shows strong upward momentum.
### Summary
- The script essentially takes the market data and applies three different EMAs to it, each with a different time frame.
- It then checks the direction (slope) of each of these EMAs to determine if they are all trending upwards.
- If they are, the script colors the bar green, signaling a potentially strong bullish trend.
- If any of the EMAs is not trending upwards, it colors the bar red, indicating a potential issue with the strength of the trend.
This approach helps traders quickly assess market conditions based on multiple EMAs, providing a clearer picture of the overall trend across different time frames.
EMAs for D W M TimeframesEMAs for D W M Timeframes
Description:
The “EMAs for D W M Timeframes” indicator allows users to set specific Exponential Moving Averages (EMAs) for Daily, Weekly, and Monthly timeframes. The script utilizes these user-defined EMA settings based on the chart’s current timeframe, ensuring that the appropriate EMAs are always displayed.
Please note that for timeframes other than specified, it defaults to daily EMA values.
EMA : The Exponential Moving Average (EMA) is a type of moving average that places greater weight and significance on the most recent data points. This makes the EMA more responsive to recent price changes compared to a simple moving average (SMA), making it a popular tool for identifying trends in financial markets.
Features:
Daily and Default EMAs: Users can specify two EMAs for the Daily timeframe, which also act as the default EMAs for any unspecified timeframe. The default values are set to 10 and 20.
Weekly EMAs: For Weekly charts, the indicator plots two EMAs with default values of 10 and 30. These EMAs help in tracking medium-term trends.
Monthly EMAs: On Monthly charts, the indicator plots EMAs with default values of 5 and 10, providing insights into long-term trends.
Timeframe-Based Display: The indicator automatically uses the EMA settings corresponding to the current chart’s timeframe, whether it is Daily, Weekly, or Monthly.
If the chart is set to any other timeframe, the Daily EMA settings are used by default.
How to Use:
Inputs:
* Daily and Default EMA 1 & 2: Adjust the values for the short-term and long-term EMAs on the Daily chart, which are also used for any other unspecified timeframe.
* Weekly EMA 1 & 2: Set the values for the EMAs that will be shown on Weekly charts.
* Monthly EMA 1 & 2: Specify the values for the EMAs to be displayed on Monthly charts.
Visualization:
* Depending on the current chart timeframe, the script will automatically display the relevant EMAs.
Default Values:
* Daily and Default EMAs: 10 (EMA 1), 20 (EMA 2)
* Weekly EMAs: 10 (EMA 1), 30 (EMA 2)
* Monthly EMAs: 5 (EMA 1), 10 (EMA 2)
This indicator is designed for users who want to monitor EMAs across different timeframes, using specific settings for Daily, Weekly, and Monthly charts.
RSI Trail [UAlgo]The RSI Trail indicator is a technical analysis tool designed to assist traders in making informed decisions by utilizing the Relative Strength Index (RSI) and various moving average calculations. This indicator dynamically plots support and resistance levels based on RSI values, providing visual cues for potential bullish and bearish signals. The inclusion of a trailing stop mechanism allows traders to adapt to market volatility, ensuring optimal entry and exit points.
🔶 Key Features
Multiple Moving Average Types: Choose from Simple Moving Average (SMA), Exponential Moving Average (EMA), Weighted Moving Average (WMA), Running Moving Average (RMA), and McGinley Dynamic for diverse analytical approaches.
Configurable RSI Bounds: Tailor the RSI lower and upper bounds to your specific trading preferences, with default settings at 40 and 60.
Signals: The indicator determines bullish and bearish market states and plots corresponding signals on the chart.
Customizable Visualization: Options to display the midline and color candles based on market state enhance visual analysis.
Alerts: Integrated alert conditions notify you of bullish and bearish signals.
🔶 Calculations
The RSI Trail indicator calculates dynamic support and resistance levels using a combination of moving averages and the Relative Strength Index (RSI). It starts by computing a chosen moving average (SMA, EMA, WMA, RMA, or McGinley) over a period of 27 using the typical price (ohlc4).
The indicator then defines upper and lower bounds based on customizable RSI levels (default 40 and 60) and adjusts these bounds using the Average True Range (ATR) to account for market volatility. The upper bound is calculated by adding a volatility-adjusted value to the moving average, while the lower bound is found by subtracting this value. Bullish signals occur when the price crosses above the upper bound, and bearish signals when it falls below the lower bound.
The RSI Trail indicator also can be used to identify pullback opportunities. When the price high/low crosses above/below the calculated upper/lower bound, it indicates a potential pullback, suggesting a favorable point to enter a trade during a pullback.
🔶 Disclaimer
This indicator is for informational purposes only and should not be considered financial advice.
Always conduct your own research and due diligence before making any trading decisions. Past performance is not necessarily indicative of future results.
Cinnamon_Bear Indicators MA LibraryLibrary "Cinnamon_BearIndicatorsMALibrary"
This is a personal Library of the NON built-in PineScript Moving Average function used to code indicators
ma_dema(source, length)
Double Exponential Moving Average (DEMA)
Parameters:
source (simple float)
length (simple int)
Returns: A double level of smoothing helps to follow price movements more closely while still reducing noise compared to a single EMA.
ma_dsma(source, length)
Double Smoothed Moving Average (DSMA)
Parameters:
source (simple float)
length (simple int)
Returns: A double level of smoothing helps to follow price movements more closely while still reducing noise compared to a single SMA.
ma_tema(source, length)
Triple Exponential Moving Average (TEMA)
Parameters:
source (simple float)
length (simple int)
Returns: A Triple level of smoothing helps to follow price movements even more closely compared to a DEMA.
ma_vwema(source, length)
Volume-Weighted Exponential Moving Average (VWEMA)
Parameters:
source (simple float)
length (simple int)
Returns: The VWEMA weights based on volume and recent price, giving more weight to periods with higher trading volumes.
ma_hma(source, length)
Hull Moving Average (HMA)
Parameters:
source (simple float)
length (simple int)
Returns: The HMA formula combines the properties of the weighted moving average (WMA) and the exponential moving average (EMA) to achieve a smoother and more responsive curve.
ma_ehma(source, length)
Enhanced Moving Average (EHMA)
Parameters:
source (simple float)
length (simple int)
Returns: The EHMA is calculated similarly to the Hull Moving Average (HMA) but uses a different weighting factor to further improve responsiveness.
ma_trix(source, length)
Triple Exponential Moving Average (TRIX)
Parameters:
source (simple float)
length (simple int)
Returns: The TRIX is an oscillator that shows the percentage change of a triple EMA. It is designed to filter out minor price movements and display only the most significant trends. The TRIX is a momentum indicator that can help identify trends and buy or sell signals.
ma_lsma(source, length)
Linear Weighted Moving Average (LSMA)
Parameters:
source (simple float)
length (simple int)
Returns: A moving average that gives more weight to recent prices. It is calculated using a formula that assigns linear weights to prices, with the highest weight given to the most recent price and the lowest weight given to the furthest price in the series.
ma_wcma(source, length)
Weighted Cumulative Moving Average (WCMA)
Parameters:
source (simple float)
length (simple int)
Returns: A moving average that gives more weight to recent prices. Compared to a LSMA, the WCMA the weights of data increase linearly with time, so the most recent data has a greater weight compared to older data. This means that the contribution of the most recent data to the moving average is more significant.
ma_vidya(source, length)
Variable Index Dynamic Average (VIDYA)
Parameters:
source (simple float)
length (simple int)
Returns: It is an adaptive moving average that adjusts its momentum based on market volatility using the formula of Chande Momentum Oscillator (CMO) .
ma_zlma(source, length)
Zero-Lag Moving Average (ZLMA)
Parameters:
source (simple float)
length (simple int)
Returns: Its aims to minimize the lag typically associated with MA, designed to react more quickly to price changes.
ma_gma(source, length, power)
Generalized Moving Average (GMA)
Parameters:
source (simple float)
length (simple int)
power (simple int)
Returns: It is a moving average that uses a power parameter to adjust the weight of historical data. This allows the GMA to adapt to various styles of MA.
ma_tma(source, length)
Triangular Moving Average (TMA)
Parameters:
source (simple float)
length (simple int)
Returns: MA more sensitive to changes in recent data compared to the SMA, providing a moving average that better adapts to short-term price changes.
LMACD - Logarithmic MACD Weekly BTC Index [Logue]Logarithmic Moving Average Convergence Divergence (LMACD) Weekly Indicator - The LMACD is a momentum indicator that measures the strength of a trend using 12-period and 26-period moving averages. The weekly LMACD for this indicator is calculated by determining the difference between the log (base 10) of the 12-week and 26-week exponential moving averages. Larger positive numbers indicate a larger positive momentum.
For tops: The default setting for tops is based on decreasing "strength" of BTC tops. A decreasing linear function (trigger = slope * time + intercept) was fit to past cycle tops for this indicator and is used as the default to signal macro tops. The user can change the slope and intercept of the line by changing the slope and/or intercept factor. The user also has the option to indicate tops based on a horizontal line via a settings selection. This line default value is 0.125. This indicator is triggered for a top when the LMACD is above the trigger value.
For bottoms: Bottoms are displayed based on a horizontal line with a default setting of -0.07. The indicator is triggered for a bottom when the LMACD is below the bottom trigger value.
Clustered Asset Moving Average @shrilssThe Clustered Asset Moving Average script is designed to provide traders with a unique perspective on a cluster of multiple assets. By combining the closing prices and volumes of 12 specified assets, this indicator calculates a Clustered Moving Average to reveal potential trends and market sentiment within this asset cluster.
Key Features:
- Asset Cluster Analysis:
The script considers 12 assets, including well-known names such as Google (GOOG), Microsoft (MSFT), Apple (AAPL), Tesla (TSLA), and others.
It calculates the price and volume of each asset to form a comprehensive view of the asset cluster.
- Clustered Moving Average Calculation:
The Asset Price and Volume are combined to calculate the Clustered Moving Average
This moving average reflects the relationship between the aggregated price and volume of the specified assets.
- Multiple Exponential Moving Averages (EMA):
The script includes three EMAs (10, 25, and 100) applied to the Clustered Moving Average, providing different time perspectives.
Users can customize the visibility of each EMA based on their trading preferences.
- Visual Representation:
The indicator offers a visual representation of the Clustered Moving Average, allowing traders to quickly identify trends and potential reversal points.
Different EMAs are color-coded, enhancing visual clarity.
Yearly and 12-Week Percentage Difference with EMAThe indicator "Yearly and 12-Week Percentage Difference with EMA" is designed to display the annual and 12-week difference in the percentage variability of asset prices, as well as their exponential moving averages (EMA) on the TradingView chart.
EMA Period (EMA Period): This is a configurable parameter that allows you to select a period for calculating the EMA.
Yearly % Difference (Annual percentage difference): This indicator shows the percentage difference between the current price and the asset price a year ago on weekly bars. The graph is displayed in blue.
12-Week % Difference (12 weeks difference as a percentage): This indicator shows the percentage difference between the current price and the asset price 12 weeks ago on weekly bars. The graph is displayed in green.
Zero Line (Zero Line): This black line on the chart shows the zero level.
EMA of Yearly % Difference (EMA of annual percentage difference): This line represents the exponential moving average (EMA) of the annual percentage difference. The graph is displayed in red.
EMA of 12-Week % Difference (EMA of the difference over 12 weeks as a percentage): This line represents the exponential moving average (EMA) of the difference over 12 weeks as a percentage. The graph is displayed in orange.
Use this indicator to analyze the percentage variability of asset prices on an annual and 12-week basis, as well as to track their EMA, which can help in making trading decisions.
Русская версия \\\\\
Индикатор "Разница в процентах за год и за 12 недель с EMA" предназначен для отображения цены от год к году, и за 12 недель процентной изменчивости цен актива, а также их экспоненциальных скользящих средних (EMA) на графике TradingView.
- EMA Period (Период EMA): Это настраиваемый параметр, который позволяет выбрать период для расчета EMA.
- Yearly % Difference (Годовая разница в процентах): Этот индикатор показывает процентную разницу между текущей ценой и ценой актива год назад на недельных барах. График отображается синим цветом.
- 12-Week % Difference (Разница за 12 недель в процентах): Этот индикатор показывает процентную разницу между текущей ценой и ценой актива 12 недель назад на недельных барах. График отображается зеленым цветом.
- Zero Line (Линия нуля): Эта черная линия на графике показывает нулевой уровень.
- EMA of Yearly % Difference (EMA годовой разницы в процентах): Эта линия представляет собой экспоненциальное скользящее среднее (EMA) годовой разницы в процентах. График отображается красным цветом.
- EMA of 12-Week % Difference (EMA разницы за 12 недель в процентах): Эта линия представляет собой экспоненциальное скользящее среднее (EMA) разницы за 12 недель в процентах. График отображается оранжевым цветом.
Используйте этот индикатор для анализа процентной изменчивости цен актива на годовой и 12-недельной основе, а также для отслеживания их EMA, что может помочь в принятии торговых решений.
Crypto Notes Scalping Indicator by Mohsin
**Crypto Notes Indicator**
This custom trading indicator, named "Crypto Notes," is designed to assist traders in analyzing cryptocurrency price movements. It combines two key components: the SSL (Stochastic Support and Resistance) channel and a Moving Average.
**Indicator Components:**
1. **SSL Channel:**
- The SSL channel is a technical analysis tool that helps identify potential support and resistance levels in the cryptocurrency price chart.
- The indicator calculates two values: `sslDown` and `sslUp`, which represent potential support and resistance levels, respectively.
- The SSL channel is based on a user-defined period and length, allowing traders to customize the sensitivity of the support and resistance levels.
2. **Buy and Sell Signals:**
- Buy and sell signals are generated when the `sslUp` crosses above `sslDown` (a buy signal) or when `sslUp` crosses below `sslDown` (a sell signal).
- These signals help traders identify potential entry and exit points for their cryptocurrency trades.
3. **Moving Average (MA1):**
- The indicator also includes a customizable exponential moving average (EMA) with a length defined by the user.
- This moving average (MA1) can be used to smooth out price data and identify trends in the cryptocurrency's price movement.
**How to Use:**
1. **SSL Channel:** The SSL channel visually represents potential support and resistance levels on the price chart. Traders can observe price behavior concerning these levels to make trading decisions.
2. **Buy Signals:** Buy signals are labeled as "BUY" on the chart when `sslUp` crosses above `sslDown`. This is an indication of a potential bullish trend or an opportune time to enter a long position.
3. **Sell Signals:** Sell signals are labeled as "SELL" on the chart when `sslUp` crosses below `sslDown`. This suggests a potential bearish trend or an opportune time to exit a long position or consider shorting.
4. **Moving Average (MA1):** The customizable moving average (MA1) can help traders identify trends in the cryptocurrency's price movement. When MA1 is above the price, it may suggest an uptrend, and when it's below, it may suggest a downtrend.
**Customization:**
- Traders can adjust the indicator's parameters, such as the SSL channel period, length, and the length of the EMA (MA1), to suit their specific trading strategies and preferences.
**Disclaimer:** This indicator is a tool for technical analysis and does not provide financial advice. Trading cryptocurrencies involves risks, and users should conduct thorough research and risk management before making any trading decisions.
**Note:** It's essential to thoroughly test this indicator and incorporate it into a comprehensive trading strategy before using it for actual trading.
---
Please ensure you understand the indicator's functionality and consider using it alongside other tools and analysis methods as part of your trading strategy.
TRAX Detrended Price StrategyIn this script, the "TRAX" (TRIX) indicator is calculated using the Volume Weighted Moving Average (VWMA) instead of Exponential Moving Average (EMA) like the standard TRIX. The Detrended Price is used to identify short term cycles with a rate of change verses the rate of change from a triple smoothed TRAX VWMA . The strategy is intended for counter-trend trading, meaning it tries to capture potential reversals.
1. Indicators Used:
TRAX is calculated using the Volume Weighted Moving Average (VWMA) of the logarithm of the closing price.
DPO (Detrended Price Oscillator) is calculated by taking the closing price and subtracting a simple moving average (SMA) of the closing price shifted back.
2. Crossover Conditions:
Longs occur when DPO crosses above the TRAX, with the TRAX trending below 0, and the stock is trading above an adjustable simple moving average. Shorts occur due to the inverse conditions.
3. Visualization:
This script plots the SMA and the TRAX-DPO Combined Oscillator.
It highlights the periods of zero-line crossover using a green background for potential long positions and a red background for potential short positions. However, it will trigger verified entries/exits in accordance with the SMA.
In conclusion, this fun prototype underwent a unique alteration using the Volume Weighted Moving Average and focuses on capturing shorter counter-trend cycles. You have the freedom to fine-tune the strategy by adjusting parameters and incorporating other analysis methods that resonate with your trading style and risk tolerance.
Trend Analyser by Abdul KhaderThis indicator is designed to provide buy and sell signals based on a combination of technical analysis methods. It uses the Relative Strength Index (RSI), Moving Average Convergence Divergence (MACD), and Exponential Moving Averages (EMA) to generate signals. It also calculates Stop Loss (SL) and Take Profit (TP) levels based on the Average True Range (ATR).
Components:
RSI: An oscillator that measures the speed and change of price movements. RSI is used to identify overbought and oversold conditions. In this indicator, an RSI below 30 is considered oversold and an RSI above 70 is considered overbought.
MACD: A trend-following momentum indicator that shows the relationship between two moving averages of a security’s price. The MACD triggers technical signals when it crosses above (to buy) or below (to sell) its signal line.
EMA: These moving averages give more weight to recent prices and are used to identify short-term price trends. A crossover of a shorter period EMA (9 periods in this case) above a longer period EMA (21 periods in this case) generates a buy signal. Conversely, a crossover of the shorter EMA below the longer EMA generates a sell signal.
ATR: This is a market volatility indicator. The ATR is used to calculate Stop Loss and Take Profit levels. These levels are set at a distance from the entry price, equal to a certain multiplier (1.5 in this case) of the ATR.
How to Use:
Buy Signal: A green triangle below the price bar indicates a buy signal. This is generated when the following conditions are met:
The short-term EMA crosses above the long-term EMA
The RSI is below 30 (oversold condition)
The MACD line crosses above the signal line and is above zero
Sell Signal: A red triangle above the price bar indicates a sell signal. This is generated when the following conditions are met:
The short-term EMA crosses below the long-term EMA
The RSI is above 70 (overbought condition)
The MACD line crosses below the signal line and is below zero
Stop Loss and Take Profit: These levels are indicated by dashed lines. The stop loss for a long position is set below the entry price, while the take profit is set above. For a short position, the stop loss is set above the entry price and the take profit is set below.
Important Notes:
This indicator is designed for intraday trading and may not be suitable for longer-term trades.
Always use this indicator in conjunction with other aspects of technical and fundamental analysis. No indicator can provide accurate signals 100% of the time.
Always backtest this indicator with historical data before using it in live trading.
Risk management is crucial in trading. Never risk more than a small percentage of your trading capital on a single trade.
MACD Higher TimeFrameThis Pine script is an indicator called "MACD Higher TimeFrame" that calculates and displays the Moving Average Convergence Divergence (MACD) on a higher timeframe. It is designed to be used on a lower timeframe chart but show the MACD values from a specified higher timeframe.
The indicator takes several inputs, including the fast length, slow length, source data, signal smoothing length, and the types of moving averages to be used for the MACD and signal lines. The default values are set to 12, 26, the closing price, 9, and exponential moving averages (EMA) for both lines, respectively. These inputs can be modified by the user.
The script calculates the MACD and signal lines based on the specified inputs and the source data. It uses the `init_ma` function to initialize the moving average calculation based on the selected moving average type (EMA or SMA) and length.
To display the MACD and signal lines from the higher timeframe, the script utilizes the `request.security` function, fetching the values of MACD and signal lines one bar ago on the higher timeframe. It handles any gaps in data and lookahead considerations.
The script also includes a function called `int_htf_fillna`, which handles the filling of `na` (not available) values for the higher timeframe indicators. It ensures that the indicator values are carried forward if they are not available for a particular bar.
To enhance the visualization, the script includes customizable colors for the MACD line, signal line, and histogram bars. The histogram bars are styled using the `plot.style_columns` option, and their color is determined by the `color_handle_ducplicate_value` function. This function checks for duplicate values and assigns colors based on whether the indicator is rising or falling, and whether it is above or below zero.
The script also includes a zero line (color #787B86) to provide a visual reference for the zero level.
Overall, this Pine script allows users to view the MACD indicator from a higher timeframe on a lower timeframe chart, providing insights into the broader market trend.
Webby's Tight IndicatorWebby's Tight Indicator is used to measure a securities volatility relative to itself over time. This is achieved by taking the average of three short term ATR's (average true range) and creating a ratio versus three longer term ATR's.
Mike Webster recently stated he is using the 3,5,8 for the short term ATR's and the 55,89,144 for the long term ATR's. All of the ATR lengths are part of the Fibonacci sequence.
The ratio of the ATR's is then calculated and plotted as a histogram with 0 representing the ATR's being equal. As a stocks short term ATR contracts the histogram will rise above 0 meaning volatility in the short term is contracting relative to long term volatility. On the other hand if the short ATR's are expanding versus the long term ATR's the histogram will fall below 0 and turn red, signifying short term volatility is greater than long term volatility.
The easy visualization of this indicator allows you to quickly see when a stock is in a tight range and could be ready for a potential breakout to the long side or breakdown to the short side.
In this example we see tight price action with a blue histogram followed by volatility to the upside coinciding with a breakout.
In this example we see volatility expanding as a stock continues to fall.
To help differentiate between trending contraction or expansion and just short term blips 5-day exponential moving average of the ratio is also plotted on the histogram and dynamically changes colors as it rises and falls.
Indicator options include:
Change histogram colors
Choose ema line width
kyle algo v1
Integration of multiple technical indicators: The strategy mainly combines two technical indicators - Keltner Channels and Supertrend, to generate trading signals. It also calculates fifteen exponential moving averages (EMAs) for the high price with different periods ranging from 9 to 51.
Unique combination of indicators: The traditional Supertrend typically uses Average True Range (ATR) to calculate its upper and lower bands. In contrast, this script modifies the approach to use Keltner Channels instead.
Flexible sensitivity adjustment: This strategy provides a "sensitivity" input parameter for users to adjust, which controls the multiplier for the range in the Supertrend calculation. This can make the signals more or less sensitive to price changes, allowing users to tailor the strategy to their own risk tolerance and trading style.
EMA Energy Representation: The code offers a visualization of "EMA Energy", which color-codes the EMA lines based on whether the closing price is above or below the EMA line. This can provide an intuitive understanding of market trends.
Clear visual signals: The strategy generates clear "BUY" and "SELL" signals, represented as labels on the chart. This makes it easy to identify potential entry and exit points in the market.
Customizable: The script provides several user inputs, making it possible to fine-tune the strategy according to different market conditions and individual trading preferences.
EMA (Exponential Moving Average) Principle:
The EMA is a type of moving average that assigns more weight to the most recent data.
It responds more quickly to recent price changes and is used to capture short-term price trends.
Principle of Color Change :
In this trading strategy, the color of the EMA line changes based on whether the closing price is above or below the EMA. If the closing price is above the EMA, the EMA line turns green,
indicating an upward price trend. Conversely, if the closing price is below the EMA, the EMA line turns red,
indicating a downward price trend. These color changes help traders to more intuitively identify price trends
In short, our team provides a lot of practical space
That is your development space
CNTLibraryLibrary "CNTLibrary"
Custom Functions To Help Code In Pinescript V5
Coded By Christian Nataliano
First Coded In 10/06/2023
Last Edited In 22/06/2023
Huge Shout Out To © ZenAndTheArtOfTrading and his ZenLibrary V5, Some Of The Custom Functions Were Heavily Inspired By Matt's Work & His Pine Script Mastery Course
Another Shout Out To The TradingView's Team Library ta V5
//====================================================================================================================================================
// Custom Indicator Functions
//====================================================================================================================================================
GetKAMA(KAMA_lenght, Fast_KAMA, Slow_KAMA)
Calculates An Adaptive Moving Average Based On Perry J Kaufman's Calculations
Parameters:
KAMA_lenght (int) : Is The KAMA Lenght
Fast_KAMA (int) : Is The KAMA's Fastes Moving Average
Slow_KAMA (int) : Is The KAMA's Slowest Moving Average
Returns: Float Of The KAMA's Current Calculations
GetMovingAverage(Source, Lenght, Type)
Get Custom Moving Averages Values
Parameters:
Source (float) : Of The Moving Average, Defval = close
Lenght (simple int) : Of The Moving Average, Defval = 50
Type (string) : Of The Moving Average, Defval = Exponential Moving Average
Returns: The Moving Average Calculation Based On Its Given Source, Lenght & Calculation Type (Please Call Function On Global Scope)
GetDecimals()
Calculates how many decimals are on the quote price of the current market © ZenAndTheArtOfTrading
Returns: The current decimal places on the market quote price
Truncate(number, decimalPlaces)
Truncates (cuts) excess decimal places © ZenAndTheArtOfTrading
Parameters:
number (float)
decimalPlaces (simple float)
Returns: The given number truncated to the given decimalPlaces
ToWhole(number)
Converts pips into whole numbers © ZenAndTheArtOfTrading
Parameters:
number (float)
Returns: The converted number
ToPips(number)
Converts whole numbers back into pips © ZenAndTheArtOfTrading
Parameters:
number (float)
Returns: The converted number
GetPctChange(value1, value2, lookback)
Gets the percentage change between 2 float values over a given lookback period © ZenAndTheArtOfTrading
Parameters:
value1 (float)
value2 (float)
lookback (int)
BarsAboveMA(lookback, ma)
Counts how many candles are above the MA © ZenAndTheArtOfTrading
Parameters:
lookback (int)
ma (float)
Returns: The bar count of how many recent bars are above the MA
BarsBelowMA(lookback, ma)
Counts how many candles are below the MA © ZenAndTheArtOfTrading
Parameters:
lookback (int)
ma (float)
Returns: The bar count of how many recent bars are below the EMA
BarsCrossedMA(lookback, ma)
Counts how many times the EMA was crossed recently © ZenAndTheArtOfTrading
Parameters:
lookback (int)
ma (float)
Returns: The bar count of how many times price recently crossed the EMA
GetPullbackBarCount(lookback, direction)
Counts how many green & red bars have printed recently (ie. pullback count) © ZenAndTheArtOfTrading
Parameters:
lookback (int)
direction (int)
Returns: The bar count of how many candles have retraced over the given lookback & direction
GetSwingHigh(Lookback, SwingType)
Check If Price Has Made A Recent Swing High
Parameters:
Lookback (int) : Is For The Swing High Lookback Period, Defval = 7
SwingType (int) : Is For The Swing High Type Of Identification, Defval = 1
Returns: A Bool - True If Price Has Made A Recent Swing High
GetSwingLow(Lookback, SwingType)
Check If Price Has Made A Recent Swing Low
Parameters:
Lookback (int) : Is For The Swing Low Lookback Period, Defval = 7
SwingType (int) : Is For The Swing Low Type Of Identification, Defval = 1
Returns: A Bool - True If Price Has Made A Recent Swing Low
//====================================================================================================================================================
// Custom Risk Management Functions
//====================================================================================================================================================
CalculateStopLossLevel(OrderType, Entry, StopLoss)
Calculate StopLoss Level
Parameters:
OrderType (int) : Is To Determine A Long / Short Position, Defval = 1
Entry (float) : Is The Entry Level Of The Order, Defval = na
StopLoss (float) : Is The Custom StopLoss Distance, Defval = 2x ATR Below Close
Returns: Float - The StopLoss Level In Actual Price As A
CalculateStopLossDistance(OrderType, Entry, StopLoss)
Calculate StopLoss Distance In Pips
Parameters:
OrderType (int) : Is To Determine A Long / Short Position, Defval = 1
Entry (float) : Is The Entry Level Of The Order, NEED TO INPUT PARAM
StopLoss (float) : Level Based On Previous Calculation, NEED TO INPUT PARAM
Returns: Float - The StopLoss Value In Pips
CalculateTakeProfitLevel(OrderType, Entry, StopLossDistance, RiskReward)
Calculate TakeProfit Level
Parameters:
OrderType (int) : Is To Determine A Long / Short Position, Defval = 1
Entry (float) : Is The Entry Level Of The Order, Defval = na
StopLossDistance (float)
RiskReward (float)
Returns: Float - The TakeProfit Level In Actual Price
CalculateTakeProfitDistance(OrderType, Entry, TakeProfit)
Get TakeProfit Distance In Pips
Parameters:
OrderType (int) : Is To Determine A Long / Short Position, Defval = 1
Entry (float) : Is The Entry Level Of The Order, NEED TO INPUT PARAM
TakeProfit (float) : Level Based On Previous Calculation, NEED TO INPUT PARAM
Returns: Float - The TakeProfit Value In Pips
CalculateConversionCurrency(AccountCurrency, SymbolCurrency, BaseCurrency)
Get The Conversion Currecny Between Current Account Currency & Current Pair's Quoted Currency (FOR FOREX ONLY)
Parameters:
AccountCurrency (simple string) : Is For The Account Currency Used
SymbolCurrency (simple string) : Is For The Current Symbol Currency (Front Symbol)
BaseCurrency (simple string) : Is For The Current Symbol Base Currency (Back Symbol)
Returns: Tuple Of A Bollean (Convert The Currency ?) And A String (Converted Currency)
CalculateConversionRate(ConvertCurrency, ConversionRate)
Get The Conversion Rate Between Current Account Currency & Current Pair's Quoted Currency (FOR FOREX ONLY)
Parameters:
ConvertCurrency (bool) : Is To Check If The Current Symbol Needs To Be Converted Or Not
ConversionRate (float) : Is The Quoted Price Of The Conversion Currency (Input The request.security Function Here)
Returns: Float Price Of Conversion Rate (If In The Same Currency Than Return Value Will Be 1.0)
LotSize(LotSizeSimple, Balance, Risk, SLDistance, ConversionRate)
Get Current Lot Size
Parameters:
LotSizeSimple (bool) : Is To Toggle Lot Sizing Calculation (Simple Is Good Enough For Stocks & Crypto, Whilst Complex Is For Forex)
Balance (float) : Is For The Current Account Balance To Calculate The Lot Sizing Based Off
Risk (float) : Is For The Current Risk Per Trade To Calculate The Lot Sizing Based Off
SLDistance (float) : Is The Current Position StopLoss Distance From Its Entry Price
ConversionRate (float) : Is The Currency Conversion Rate (Used For Complex Lot Sizing Only)
Returns: Float - Position Size In Units
ToLots(Units)
Converts Units To Lots
Parameters:
Units (float) : Is For How Many Units Need To Be Converted Into Lots (Minimun 1000 Units)
Returns: Float - Position Size In Lots
ToUnits(Lots)
Converts Lots To Units
Parameters:
Lots (float) : Is For How Many Lots Need To Be Converted Into Units (Minimun 0.01 Units)
Returns: Int - Position Size In Units
ToLotsInUnits(Units)
Converts Units To Lots Than Back To Units
Parameters:
Units (float) : Is For How Many Units Need To Be Converted Into Lots (Minimun 1000 Units)
Returns: Float - Position Size In Lots That Were Rounded To Units
ATRTrail(OrderType, SourceType, ATRPeriod, ATRMultiplyer, SwingLookback)
Calculate ATR Trailing Stop
Parameters:
OrderType (int) : Is To Determine A Long / Short Position, Defval = 1
SourceType (int) : Is To Determine Where To Calculate The ATR Trailing From, Defval = close
ATRPeriod (simple int) : Is To Change Its ATR Period, Defval = 20
ATRMultiplyer (float) : Is To Change Its ATR Trailing Distance, Defval = 1
SwingLookback (int) : Is To Change Its Swing HiLo Lookback (Only From Source Type 5), Defval = 7
Returns: Float - Number Of The Current ATR Trailing
DangerZone(WinRate, AvgRRR, Filter)
Calculate Danger Zone Of A Given Strategy
Parameters:
WinRate (float) : Is The Strategy WinRate
AvgRRR (float) : Is The Strategy Avg RRR
Filter (float) : Is The Minimum Profit It Needs To Be Out Of BE Zone, Defval = 3
Returns: Int - Value, 1 If Out Of Danger Zone, 0 If BE, -1 If In Danger Zone
IsQuestionableTrades(TradeTP, TradeSL)
Checks For Questionable Trades (Which Are Trades That Its TP & SL Level Got Hit At The Same Candle)
Parameters:
TradeTP (float) : Is The Trade In Question Take Profit Level
TradeSL (float) : Is The Trade In Question Stop Loss Level
Returns: Bool - True If The Last Trade Was A "Questionable Trade"
//====================================================================================================================================================
// Custom Strategy Functions
//====================================================================================================================================================
OpenLong(EntryID, LotSize, LimitPrice, StopPrice, Comment, CommentValue)
Open A Long Order Based On The Given Params
Parameters:
EntryID (string) : Is The Trade Entry ID, Defval = "Long"
LotSize (float) : Is The Lot Size Of The Trade, Defval = 1
LimitPrice (float) : Is The Limit Order Price To Set The Order At, Defval = Na / Market Order Execution
StopPrice (float) : Is The Stop Order Price To Set The Order At, Defval = Na / Market Order Execution
Comment (string) : Is The Order Comment, Defval = Long Entry Order
CommentValue (string) : Is For Custom Values In The Order Comment, Defval = Na
Returns: Void
OpenShort(EntryID, LotSize, LimitPrice, StopPrice, Comment, CommentValue)
Open A Short Order Based On The Given Params
Parameters:
EntryID (string) : Is The Trade Entry ID, Defval = "Short"
LotSize (float) : Is The Lot Size Of The Trade, Defval = 1
LimitPrice (float) : Is The Limit Order Price To Set The Order At, Defval = Na / Market Order Execution
StopPrice (float) : Is The Stop Order Price To Set The Order At, Defval = Na / Market Order Execution
Comment (string) : Is The Order Comment, Defval = Short Entry Order
CommentValue (string) : Is For Custom Values In The Order Comment, Defval = Na
Returns: Void
TP_SLExit(FromID, TPLevel, SLLevel, PercentageClose, Comment, CommentValue)
Exits Based On Predetermined TP & SL Levels
Parameters:
FromID (string) : Is The Trade ID That The TP & SL Levels Be Palced
TPLevel (float) : Is The Take Profit Level
SLLevel (float) : Is The StopLoss Level
PercentageClose (float) : Is The Amount To Close The Order At (In Percentage) Defval = 100
Comment (string) : Is The Order Comment, Defval = Exit Order
CommentValue (string) : Is For Custom Values In The Order Comment, Defval = Na
Returns: Void
CloseLong(ExitID, PercentageClose, Comment, CommentValue, Instant)
Exits A Long Order Based On A Specified Condition
Parameters:
ExitID (string) : Is The Trade ID That Will Be Closed, Defval = "Long"
PercentageClose (float) : Is The Amount To Close The Order At (In Percentage) Defval = 100
Comment (string) : Is The Order Comment, Defval = Exit Order
CommentValue (string) : Is For Custom Values In The Order Comment, Defval = Na
Instant (bool) : Is For Exit Execution Type, Defval = false
Returns: Void
CloseShort(ExitID, PercentageClose, Comment, CommentValue, Instant)
Exits A Short Order Based On A Specified Condition
Parameters:
ExitID (string) : Is The Trade ID That Will Be Closed, Defval = "Short"
PercentageClose (float) : Is The Amount To Close The Order At (In Percentage) Defval = 100
Comment (string) : Is The Order Comment, Defval = Exit Order
CommentValue (string) : Is For Custom Values In The Order Comment, Defval = Na
Instant (bool) : Is For Exit Execution Type, Defval = false
Returns: Void
BrokerCheck(Broker)
Checks Traded Broker With Current Loaded Chart Broker
Parameters:
Broker (string) : Is The Current Broker That Is Traded
Returns: Bool - True If Current Traded Broker Is Same As Loaded Chart Broker
OpenPC(LicenseID, OrderType, UseLimit, LimitPrice, SymbolPrefix, Symbol, SymbolSuffix, Risk, SL, TP, OrderComment, Spread)
Compiles Given Parameters Into An Alert String Format To Open Trades Using Pine Connector
Parameters:
LicenseID (string) : Is The Users PineConnector LicenseID
OrderType (int) : Is The Desired OrderType To Open
UseLimit (bool) : Is If We Want To Enter The Position At Exactly The Previous Closing Price
LimitPrice (float) : Is The Limit Price Of The Trade (Only For Pending Orders)
SymbolPrefix (string) : Is The Current Symbol Prefix (If Any)
Symbol (string) : Is The Traded Symbol
SymbolSuffix (string) : Is The Current Symbol Suffix (If Any)
Risk (float) : Is The Trade Risk Per Trade / Fixed Lot Sizing
SL (float) : Is The Trade SL In Price / In Pips
TP (float) : Is The Trade TP In Price / In Pips
OrderComment (string) : Is The Executed Trade Comment
Spread (float) : is The Maximum Spread For Execution
Returns: String - Pine Connector Order Syntax Alert Message
ClosePC(LicenseID, OrderType, SymbolPrefix, Symbol, SymbolSuffix)
Compiles Given Parameters Into An Alert String Format To Close Trades Using Pine Connector
Parameters:
LicenseID (string) : Is The Users PineConnector LicenseID
OrderType (int) : Is The Desired OrderType To Close
SymbolPrefix (string) : Is The Current Symbol Prefix (If Any)
Symbol (string) : Is The Traded Symbol
SymbolSuffix (string) : Is The Current Symbol Suffix (If Any)
Returns: String - Pine Connector Order Syntax Alert Message
//====================================================================================================================================================
// Custom Backtesting Calculation Functions
//====================================================================================================================================================
CalculatePNL(EntryPrice, ExitPrice, LotSize, ConversionRate)
Calculates Trade PNL Based On Entry, Eixt & Lot Size
Parameters:
EntryPrice (float) : Is The Trade Entry
ExitPrice (float) : Is The Trade Exit
LotSize (float) : Is The Trade Sizing
ConversionRate (float) : Is The Currency Conversion Rate (Used For Complex Lot Sizing Only)
Returns: Float - The Current Trade PNL
UpdateBalance(PrevBalance, PNL)
Updates The Previous Ginve Balance To The Next PNL
Parameters:
PrevBalance (float) : Is The Previous Balance To Be Updated
PNL (float) : Is The Current Trade PNL To Be Added
Returns: Float - The Current Updated PNL
CalculateSlpComm(PNL, MaxRate)
Calculates Random Slippage & Commisions Fees Based On The Parameters
Parameters:
PNL (float) : Is The Current Trade PNL
MaxRate (float) : Is The Upper Limit (In Percentage) Of The Randomized Fee
Returns: Float - A Percentage Fee Of The Current Trade PNL
UpdateDD(MaxBalance, Balance)
Calculates & Updates The DD Based On Its Given Parameters
Parameters:
MaxBalance (float) : Is The Maximum Balance Ever Recorded
Balance (float) : Is The Current Account Balance
Returns: Float - The Current Strategy DD
CalculateWR(TotalTrades, LongID, ShortID)
Calculate The Total, Long & Short Trades Win Rate
Parameters:
TotalTrades (int) : Are The Current Total Trades That The Strategy Has Taken
LongID (string) : Is The Order ID Of The Long Trades Of The Strategy
ShortID (string) : Is The Order ID Of The Short Trades Of The Strategy
Returns: Tuple Of Long WR%, Short WR%, Total WR%, Total Winning Trades, Total Losing Trades, Total Long Trades & Total Short Trades
CalculateAvgRRR(WinTrades, LossTrades)
Calculates The Overall Strategy Avg Risk Reward Ratio
Parameters:
WinTrades (int) : Are The Strategy Winning Trades
LossTrades (int) : Are The Strategy Losing Trades
Returns: Float - The Average RRR Values
CAGR(StartTime, StartPrice, EndTime, EndPrice)
Calculates The CAGR Over The Given Time Period © TradingView
Parameters:
StartTime (int) : Is The Starting Time Of The Calculation
StartPrice (float) : Is The Starting Price Of The Calculation
EndTime (int) : Is The Ending Time Of The Calculation
EndPrice (float) : Is The Ending Price Of The Calculation
Returns: Float - The CAGR Values
//====================================================================================================================================================
// Custom Plot Functions
//====================================================================================================================================================
EditLabels(LabelID, X1, Y1, Text, Color, TextColor, EditCondition, DeleteCondition)
Edit / Delete Labels
Parameters:
LabelID (label) : Is The ID Of The Selected Label
X1 (int) : Is The X1 Coordinate IN BARINDEX Xloc
Y1 (float) : Is The Y1 Coordinate IN PRICE Yloc
Text (string) : Is The Text Than Wants To Be Written In The Label
Color (color) : Is The Color Value Change Of The Label Text
TextColor (color)
EditCondition (int) : Is The Edit Condition of The Line (Setting Location / Color)
DeleteCondition (bool) : Is The Delete Condition Of The Line If Ture Deletes The Prev Itteration Of The Line
Returns: Void
EditLine(LineID, X1, Y1, X2, Y2, Color, EditCondition, DeleteCondition)
Edit / Delete Lines
Parameters:
LineID (line) : Is The ID Of The Selected Line
X1 (int) : Is The X1 Coordinate IN BARINDEX Xloc
Y1 (float) : Is The Y1 Coordinate IN PRICE Yloc
X2 (int) : Is The X2 Coordinate IN BARINDEX Xloc
Y2 (float) : Is The Y2 Coordinate IN PRICE Yloc
Color (color) : Is The Color Value Change Of The Line
EditCondition (int) : Is The Edit Condition of The Line (Setting Location / Color)
DeleteCondition (bool) : Is The Delete Condition Of The Line If Ture Deletes The Prev Itteration Of The Line
Returns: Void
//====================================================================================================================================================
// Custom Display Functions (Using Tables)
//====================================================================================================================================================
FillTable(TableID, Column, Row, Title, Value, BgColor, TextColor, ToolTip)
Filling The Selected Table With The Inputed Information
Parameters:
TableID (table) : Is The Table ID That Wants To Be Edited
Column (int) : Is The Current Column Of The Table That Wants To Be Edited
Row (int) : Is The Current Row Of The Table That Wants To Be Edited
Title (string) : Is The String Title Of The Current Cell Table
Value (string) : Is The String Value Of The Current Cell Table
BgColor (color) : Is The Selected Color For The Current Table
TextColor (color) : Is The Selected Color For The Current Table
ToolTip (string) : Is The ToolTip Of The Current Cell In The Table
Returns: Void
DisplayBTResults(TableID, BgColor, TextColor, StartingBalance, Balance, DollarReturn, TotalPips, MaxDD)
Filling The Selected Table With The Inputed Information
Parameters:
TableID (table) : Is The Table ID That Wants To Be Edited
BgColor (color) : Is The Selected Color For The Current Table
TextColor (color) : Is The Selected Color For The Current Table
StartingBalance (float) : Is The Account Starting Balance
Balance (float)
DollarReturn (float) : Is The Account Dollar Reture
TotalPips (float) : Is The Total Pips Gained / loss
MaxDD (float) : Is The Maximum Drawdown Over The Backtesting Period
Returns: Void
DisplayBTResultsV2(TableID, BgColor, TextColor, TotalWR, QTCount, LongWR, ShortWR, InitialCapital, CumProfit, CumFee, AvgRRR, MaxDD, CAGR, MeanDD)
Filling The Selected Table With The Inputed Information
Parameters:
TableID (table) : Is The Table ID That Wants To Be Edited
BgColor (color) : Is The Selected Color For The Current Table
TextColor (color) : Is The Selected Color For The Current Table
TotalWR (float) : Is The Strategy Total WR In %
QTCount (int) : Is The Strategy Questionable Trades Count
LongWR (float) : Is The Strategy Total WR In %
ShortWR (float) : Is The Strategy Total WR In %
InitialCapital (float) : Is The Strategy Initial Starting Capital
CumProfit (float) : Is The Strategy Ending Cumulative Profit
CumFee (float) : Is The Strategy Ending Cumulative Fee (Based On Randomized Fee Assumptions)
AvgRRR (float) : Is The Strategy Average Risk Reward Ratio
MaxDD (float) : Is The Strategy Maximum DrawDown In Its Backtesting Period
CAGR (float) : Is The Strategy Compounded Average GRowth In %
MeanDD (float) : Is The Strategy Mean / Average Drawdown In The Backtesting Period
Returns: Void
//====================================================================================================================================================
// Custom Pattern Detection Functions
//====================================================================================================================================================
BullFib(priceLow, priceHigh, fibRatio)
Calculates A Bullish Fibonacci Value (From Swing Low To High) © ZenAndTheArtOfTrading
Parameters:
priceLow (float)
priceHigh (float)
fibRatio (float)
Returns: The Fibonacci Value Of The Given Ratio Between The Two Price Points
BearFib(priceLow, priceHigh, fibRatio)
Calculates A Bearish Fibonacci Value (From Swing High To Low) © ZenAndTheArtOfTrading
Parameters:
priceLow (float)
priceHigh (float)
fibRatio (float)
Returns: The Fibonacci Value Of The Given Ratio Between The Two Price Points
GetBodySize()
Gets The Current Candle Body Size IN POINTS © ZenAndTheArtOfTrading
Returns: The Current Candle Body Size IN POINTS
GetTopWickSize()
Gets The Current Candle Top Wick Size IN POINTS © ZenAndTheArtOfTrading
Returns: The Current Candle Top Wick Size IN POINTS
GetBottomWickSize()
Gets The Current Candle Bottom Wick Size IN POINTS © ZenAndTheArtOfTrading
Returns: The Current Candle Bottom Wick Size IN POINTS
GetBodyPercent()
Gets The Current Candle Body Size As A Percentage Of Its Entire Size Including Its Wicks © ZenAndTheArtOfTrading
Returns: The Current Candle Body Size IN PERCENTAGE
GetTopWickPercent()
Gets The Current Top Wick Size As A Percentage Of Its Entire Body Size
Returns: Float - The Current Candle Top Wick Size IN PERCENTAGE
GetBottomWickPercent()
Gets The Current Bottom Wick Size As A Percentage Of Its Entire Bodu Size
Returns: Float - The Current Candle Bottom Size IN PERCENTAGE
BullishEC(Allowance, RejectionWickSize, EngulfWick, NearSwings, SwingLookBack)
Checks If The Current Bar Is A Bullish Engulfing Candle
Parameters:
Allowance (int) : To Give Flexibility Of Engulfing Pattern Detection In Markets That Have Micro Gaps, Defval = 0
RejectionWickSize (float) : To Filter Out long (Upper And Lower) Wick From The Bullsih Engulfing Pattern, Defval = na
EngulfWick (bool) : To Specify If We Want The Pattern To Also Engulf Its Upper & Lower Previous Wicks, Defval = false
NearSwings (bool) : To Specify If We Want The Pattern To Be Near A Recent Swing Low, Defval = true
SwingLookBack (int) : To Specify How Many Bars Back To Detect A Recent Swing Low, Defval = 10
Returns: Bool - True If The Current Bar Matches The Requirements of a Bullish Engulfing Candle
BearishEC(Allowance, RejectionWickSize, EngulfWick, NearSwings, SwingLookBack)
Checks If The Current Bar Is A Bearish Engulfing Candle
Parameters:
Allowance (int) : To Give Flexibility Of Engulfing Pattern Detection In Markets That Have Micro Gaps, Defval = 0
RejectionWickSize (float) : To Filter Out long (Upper And Lower) Wick From The Bearish Engulfing Pattern, Defval = na
EngulfWick (bool) : To Specify If We Want The Pattern To Also Engulf Its Upper & Lower Previous Wicks, Defval = false
NearSwings (bool) : To Specify If We Want The Pattern To Be Near A Recent Swing High, Defval = true
SwingLookBack (int) : To Specify How Many Bars Back To Detect A Recent Swing High, Defval = 10
Returns: Bool - True If The Current Bar Matches The Requirements of a Bearish Engulfing Candle
Hammer(Fib, ColorMatch, NearSwings, SwingLookBack, ATRFilterCheck, ATRPeriod)
Checks If The Current Bar Is A Hammer Candle
Parameters:
Fib (float) : To Specify Which Fibonacci Ratio To Use When Determining The Hammer Candle, Defval = 0.382 Ratio
ColorMatch (bool) : To Filter Only Bullish Closed Hammer Candle Pattern, Defval = false
NearSwings (bool) : To Specify If We Want The Doji To Be Near A Recent Swing Low, Defval = true
SwingLookBack (int) : To Specify How Many Bars Back To Detect A Recent Swing Low, Defval = 10
ATRFilterCheck (float) : To Filter Smaller Hammer Candles That Might Be Better Classified As A Doji Candle, Defval = 1
ATRPeriod (simple int) : To Change ATR Period Of The ATR Filter, Defval = 20
Returns: Bool - True If The Current Bar Matches The Requirements of a Hammer Candle
Star(Fib, ColorMatch, NearSwings, SwingLookBack, ATRFilterCheck, ATRPeriod)
Checks If The Current Bar Is A Hammer Candle
Parameters:
Fib (float) : To Specify Which Fibonacci Ratio To Use When Determining The Hammer Candle, Defval = 0.382 Ratio
ColorMatch (bool) : To Filter Only Bullish Closed Hammer Candle Pattern, Defval = false
NearSwings (bool) : To Specify If We Want The Doji To Be Near A Recent Swing Low, Defval = true
SwingLookBack (int) : To Specify How Many Bars Back To Detect A Recent Swing Low, Defval = 10
ATRFilterCheck (float) : To Filter Smaller Hammer Candles That Might Be Better Classified As A Doji Candle, Defval = 1
ATRPeriod (simple int) : To Change ATR Period Of The ATR Filter, Defval = 20
Returns: Bool - True If The Current Bar Matches The Requirements of a Hammer Candle
Doji(MaxWickSize, MaxBodySize, DojiType, NearSwings, SwingLookBack)
Checks If The Current Bar Is A Doji Candle
Parameters:
MaxWickSize (float) : To Specify The Maximum Lenght Of Its Upper & Lower Wick, Defval = 2
MaxBodySize (float) : To Specify The Maximum Lenght Of Its Candle Body IN PERCENT, Defval = 0.05
DojiType (int)
NearSwings (bool) : To Specify If We Want The Doji To Be Near A Recent Swing High / Low (Only In Dragonlyf / Gravestone Mode), Defval = true
SwingLookBack (int) : To Specify How Many Bars Back To Detect A Recent Swing High / Low (Only In Dragonlyf / Gravestone Mode), Defval = 10
Returns: Bool - True If The Current Bar Matches The Requirements of a Doji Candle
BullishIB(Allowance, RejectionWickSize, EngulfWick, NearSwings, SwingLookBack)
Checks If The Current Bar Is A Bullish Harami Candle
Parameters:
Allowance (int) : To Give Flexibility Of Harami Pattern Detection In Markets That Have Micro Gaps, Defval = 0
RejectionWickSize (float) : To Filter Out long (Upper And Lower) Wick From The Bullsih Harami Pattern, Defval = na
EngulfWick (bool) : To Specify If We Want The Pattern To Also Engulf Its Upper & Lower Previous Wicks, Defval = false
NearSwings (bool) : To Specify If We Want The Pattern To Be Near A Recent Swing Low, Defval = true
SwingLookBack (int) : To Specify How Many Bars Back To Detect A Recent Swing Low, Defval = 10
Returns: Bool - True If The Current Bar Matches The Requirements of a Bullish Harami Candle
BearishIB(Allowance, RejectionWickSize, EngulfWick, NearSwings, SwingLookBack)
Checks If The Current Bar Is A Bullish Harami Candle
Parameters:
Allowance (int) : To Give Flexibility Of Harami Pattern Detection In Markets That Have Micro Gaps, Defval = 0
RejectionWickSize (float) : To Filter Out long (Upper And Lower) Wick From The Bearish Harami Pattern, Defval = na
EngulfWick (bool) : To Specify If We Want The Pattern To Also Engulf Its Upper & Lower Previous Wicks, Defval = false
NearSwings (bool) : To Specify If We Want The Pattern To Be Near A Recent Swing High, Defval = true
SwingLookBack (int) : To Specify How Many Bars Back To Detect A Recent Swing High, Defval = 10
Returns: Bool - True If The Current Bar Matches The Requirements of a Bearish Harami Candle
//====================================================================================================================================================
// Custom Time Functions
//====================================================================================================================================================
BarInSession(sess, useFilter)
Determines if the current price bar falls inside the specified session © ZenAndTheArtOfTrading
Parameters:
sess (simple string)
useFilter (bool)
Returns: A boolean - true if the current bar falls within the given time session
BarOutSession(sess, useFilter)
Determines if the current price bar falls outside the specified session © ZenAndTheArtOfTrading
Parameters:
sess (simple string)
useFilter (bool)
Returns: A boolean - true if the current bar falls outside the given time session
DateFilter(startTime, endTime)
Determines if this bar's time falls within date filter range © ZenAndTheArtOfTrading
Parameters:
startTime (int)
endTime (int)
Returns: A boolean - true if the current bar falls within the given dates
DayFilter(monday, tuesday, wednesday, thursday, friday, saturday, sunday)
Checks if the current bar's day is in the list of given days to analyze © ZenAndTheArtOfTrading
Parameters:
monday (bool)
tuesday (bool)
wednesday (bool)
thursday (bool)
friday (bool)
saturday (bool)
sunday (bool)
Returns: A boolean - true if the current bar's day is one of the given days
AUSSess()
Checks If The Current Australian Forex Session In Running
Returns: Bool - True If Currently The Australian Session Is Running
ASIASess()
Checks If The Current Asian Forex Session In Running
Returns: Bool - True If Currently The Asian Session Is Running
EURSess()
Checks If The Current European Forex Session In Running
Returns: Bool - True If Currently The European Session Is Running
USSess()
Checks If The Current US Forex Session In Running
Returns: Bool - True If Currently The US Session Is Running
UNIXToDate(Time, ConversionType, TimeZone)
Converts UNIX Time To Datetime
Parameters:
Time (int) : Is The UNIX Time Input
ConversionType (int) : Is The Datetime Output Format, Defval = DD-MM-YYYY
TimeZone (string) : Is To Convert The Outputed Datetime Into The Specified Time Zone, Defval = Exchange Time Zone
Returns: String - String Of Datetime






















